Skip to content

[RAPPS-DB] Set Chrome no-sandbox parameter on shortcut and other x64 fixes#321

Merged
whindsaks merged 1 commit into
reactos:masterfrom
whindsaks:LnkParam
Jul 18, 2025
Merged

[RAPPS-DB] Set Chrome no-sandbox parameter on shortcut and other x64 fixes#321
whindsaks merged 1 commit into
reactos:masterfrom
whindsaks:LnkParam

Conversation

@whindsaks
Copy link
Copy Markdown
Contributor

Fixes Chrome on x64 (x86 uses a different installer we can't fix this way).

Notes:

  • Some other x64 apps just needed the same download link forced for amd64 for it to show in Rapps.

@whindsaks whindsaks added the enhancement New feature or request label Jul 17, 2025
Comment thread autoruns.txt
Installer = Generate

[Section.amd64]
URLDownload = https://web.archive.org/web/20170803195021/https://download.sysinternals.com/files/Autoruns.zip
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add SHA1 for it? Also, isn't it an unrelated change? (as well as some others)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UPD: I've re-read the description, that's ok, but question for SHA1 still stands.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The download is the same as for x86 and it gets the hash from the main section. The URL just needs to be listed again under Section.amd64 for Rapps to accept it. There is no AnyCPU concept.

And yes, these others are unrelated to Chrome but they are x64 fixes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no AnyCPU concept

It cannot fallback to the [Section] in that case?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't right now. And if the main x86 is still the main arch that we maintain (and we still don't have WOW64 or others), IMHO it would stay like that.

Copy link
Copy Markdown
Contributor Author

@whindsaks whindsaks Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It cannot fallback to the [Section] in that case?

No. All values except the download URL will fallback to the non-CPU section but rapps has special code to not accept the URL on non-x86 (this restriction will probably removed when we get wow64).

https://github.com/reactos/reactos/blob/49e652b7b790de896e63b4de07822376f4d627f0/base/applications/rapps/configparser.cpp#L75

Comment thread zoomit.txt
Comment on lines +18 to +19
[Section.arm64]
URLDownload = https://web.archive.org/web/20210503071949/http://download.sysinternals.com/Files/ZoomIt.zip
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uhm... Do we have a bootable reactos compatible ARM64 and I didn't noticed? xD
Nah, it's a joke, if you consider to add it here, I am not against. Rapps-db must be a trusty database itself, even for the future.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question as for the other file.

Comment thread windbg.txt
Comment thread siv.txt
Copy link
Copy Markdown
Collaborator

@julenuri julenuri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, just fix a little the PR title to fit more to the proposal of the PR, Chrome and other x64 software fixing. Thanks.

Comment thread autoruns.txt
Installer = Generate

[Section.amd64]
URLDownload = https://web.archive.org/web/20170803195021/https://download.sysinternals.com/files/Autoruns.zip
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no AnyCPU concept

It cannot fallback to the [Section] in that case?

Comment thread tcpview.txt
[Section.amd64]
URLDownload = https://web.archive.org/web/20221116090816/https://download.sysinternals.com/files/TCPView.zip

[Section.arm64]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding ARM64 for here, but not the other apps?! 👀

Copy link
Copy Markdown
Contributor Author

@whindsaks whindsaks Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know a couple of these sysinternals tools ship all 3 in the same zip file and I had already done part of the work needed, just didn't know it needed this extra download value (obviously I only tested this on x64, not on arm).

For Process Explorer. We are stuck with an old version that never shipped arm64.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah OK, makes sense if the zip contains an ARM64 build too.

Comment thread zoomit.txt
Comment on lines +18 to +19
[Section.arm64]
URLDownload = https://web.archive.org/web/20210503071949/http://download.sysinternals.com/Files/ZoomIt.zip
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question as for the other file.

Comment thread chrome_48.txt
Dir = %ProgramFiles%\Google\Chrome
Lnk = "Google Chrome.lnk"
Files = chrome48\Chrome-bin\*.exe|chrome48\Chrome-bin\*
Dir = Google\Chrome
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When nothing else is prepended, this falls back to ProgramFiles by default?

Copy link
Copy Markdown
Contributor Author

@whindsaks whindsaks Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, with no % at the root, Rapps will install to %localappdata% or %programfiles% in the future but now it's just for the user. There technically is some support for setting Scope=Machine in the manifest to force %programfiles% but I don't want to do that here (official Chrome also installs for the user). I want Rapps to give you the option to set a default user/machine preference when the package does not have a hard requirement. This has not been done yet, UAC considerations must be thought through first.

Comment thread chrome_48.txt
Lnk = "Google Chrome.lnk"
Files = chrome48\Chrome-bin\*.exe|chrome48\Chrome-bin\*
Dir = Google\Chrome
Lnk = Google Chrome.lnk
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep this inside quotes? (the file name contains spaces)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a command line and neither the spec not implementation expects quotes, the ini parser must be stripping them by chance.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not "by chance" that the ini parser strips them; this is part of the spec.
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getprivateprofilestringw#remarks

If the string associated with lpKeyName is enclosed in single or double quotation marks, the marks are discarded when the GetPrivateProfileString function retrieves the string.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just be careful with this, parts of Rapps uses the Setup API inf parser.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok then the quotes in the string values will definitely be stripped away.

@whindsaks whindsaks changed the title [RAPPS-DB] Set Chrome no-sandbox parameter on shortcut [RAPPS-DB] Set Chrome no-sandbox parameter on shortcut and other x64 fixes Jul 17, 2025
Comment thread processexplorer.txt
Installer = Generate

[Section.amd64]
URLDownload = https://web.archive.org/web/20190913041012/https://download.sysinternals.com/files/ProcessExplorer.zip
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe some magic key like inherit or so would be nice here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming Wow64 is far away then yes, this would be pretty nice. If we would still want to respect the localization sections then it will be a bit painful but I think I can make a GetSectionStringEx that lets you skip the CPU bits. I don't know how common this .zip style distribution with the same URL is though...

@whindsaks whindsaks merged commit 811c04e into reactos:master Jul 18, 2025
1 check passed
@whindsaks whindsaks deleted the LnkParam branch July 18, 2025 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants